#include <unistd.h>
#include <iostream>

int epoll_create(int size);

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);

int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);

struct rb_node {
    int fd;
    uint32_t events;
    rb_node *left, *right, *parent;
    int color;
    // ... 其他属性
};

struct queue_node {
    int fd;
    uint32_t events;
    queue_node *next, *prev;
    // ... 其他属性
};